iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0
IT管理

Camunda征服「流程管理」,解放時間系列 第 14

「DAY14」Camunda Modeler業務規則

  • 分享至 

  • xImage
  •  

將業務規則任務添加到流程

使用 Camunda Modeler 打開付款檢索流程(Payment Retrieval process),然後單擊批准付款任務(Approve Payment Task)。在扳手(wrench)按鈕菜單中將活動類型更改為業務規則任務(Business Rule Task)。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254iNvZIhNnhJ.png

接下來,通過在屬性面板中更改ImplementationDMNDecision Ref將業務規則任務鏈接到 DMN 表。approve-payment為了檢索評估結果並將其自動保存為流程中的流程實例變量,我們還需要在屬性面板中將更改Result Variableapproved並使用singleEntryas 。Map Decision Result

先選DMN

https://ithelp.ithome.com.tw/upload/images/20230928/20163254xtmozYUgGB.png

https://ithelp.ithome.com.tw/upload/images/20230928/201632540Dfe2QeZbM.png

保存更改並使用DeployCamunda Modeler 中的按鈕部署更新的流程。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254SIVe0qA58F.png

使用 Camunda Modeler 創建 DMN 表

首先,通過單擊File > New File > DMN Diagram創建一個新的Camunda 7 DMN 圖。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254Fe3tn8WBHJ.png

現在新創建的圖表中已經添加了一個決策元素。通過單擊將其選中,然後為其指定名稱Approve Payment和 ID approve-payment(決策 ID 必須與Decision Ref您的 BPMN 流程中的 ID 匹配)。

https://ithelp.ithome.com.tw/upload/images/20230928/201632540f5Nxh0NMZ.png

https://ithelp.ithome.com.tw/upload/images/20230928/20163254F8XTJyVE8d.png

接下來,單擊表按鈕創建一個新的 DMN 表。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254emPNckynaW.png

指定DMN表

首先,指定 DMN 表的輸入表達式。在此示例中,我們將根據商品名稱決定是否批准付款。您的規則還可以使用 FEEL 表達式語言、JUEL 或腳本。如果您願意,可以閱讀有關 DMN 引擎中的表達式的更多信息

“雙擊”Input以配置輸入列。用作輸入標籤(Input Label):Item輸入表達式(Input Expression): item

https://ithelp.ithome.com.tw/upload/images/20230928/201632546TgXTgW42P.png

接下來,設置輸出列。用作輸出列“Approved”的 輸出標籤Approved和輸出名稱approved

https://ithelp.ithome.com.tw/upload/images/20230928/20163254OSAdLANCSw.png

讓我們通過單擊 DMN 表左側的加號圖標來創建一些規則。我們還應該將輸出列更改為數據類型boolean

https://ithelp.ithome.com.tw/upload/images/20230928/20163254Fcsk243uHH.png

設置完成後,您的 DMN 表應如下所示:

https://ithelp.ithome.com.tw/upload/images/20230928/20163254A135ucJfOL.png

部署DMN表

要部署決策表,請單擊 Camunda Modeler 中的“Deploy”按鈕,將其命名為“Payment Retrieval Decision”,然後單擊“部署”按鈕。

https://ithelp.ithome.com.tw/upload/images/20230928/20163254TfK7FW2ARR.png

使用 Cockpit 驗證部署

現在,使用 Cockpit 查看決策表是否已成功部署。轉到http://localhost:8080/camunda/app/cockpit/並登錄。導航至“Decisions”部分。您的決策表*“Approve Payment”*應列為已部署的決策定義。

💡 **Cockpit** 預設密碼為 = 帳號:demo / 密碼:demo

https://ithelp.ithome.com.tw/upload/images/20230928/20163254TsV3mPHE7G.png

使用 Cockpit 和Tasklist 進行檢查

接下來,使用 Tasklist 啟動兩個新的流程實例,並驗證流程實例是否會根據您的輸入進行不同的路由。為此,請轉至http://localhost:8080/camunda/app/tasklist/並登錄。

💡 Tasklist 預設密碼為 = 帳號:demo / 密碼:demo

單擊start a process 按鈕啟動流程實例並選擇Payment流程。使用通用形式添加變量,如下所示:

新增以下參數(可以自由變換)

參數一:

  • Name: amount
  • Type: Integer
  • Value: 1200

參數二:

  • Name: item
  • Type: String
  • Value: item-xyz

https://ithelp.ithome.com.tw/upload/images/20230928/20163254YnsRus1GmH.png

點擊Start。

接下來,再次單擊start a process 按鈕啟動另一個流程實例並選擇該Payment流程。使用通用形式添加變量,如下所示:

新增以下參數(可以自由變換)

參數一:

  • Name: amount
  • Type: Integer
  • Value: 1200

參數二:

  • Name: item
  • Type: String
  • Value: item-zzz

https://ithelp.ithome.com.tw/upload/images/20230928/2016325418ZblDKU7s.png

您將看到,根據輸入,工作人員將向信用卡收費或不收費。您還可以驗證 DMN 表是否已使用 Camunda Cockpit 進行評估。轉到http://localhost:8080/camunda/app/cockpit/。導航至“Decisions”部分,然後單擊“Approve Payment”。通過單擊表中的 ID 檢查評估的不同決策實例。

在 Camunda Cockpit 中執行的單個 DMN 表可能如下所示:

https://ithelp.ithome.com.tw/upload/images/20230928/2016325494W3Kgdb24.png

到此第五部分結束,如果想直接獲取到現在為止的進度,可以使用如下命令
git checkout -f Step-5

https://ithelp.ithome.com.tw/upload/images/20230928/201632549Y6T8rnalZ.png


如果有任何問題,歡迎在下方留言!! 筆者頭一回寫技術文,如果內容有誤,或者內容的呈現上有所缺陷,如果您願意,歡迎在下方留言給我呦~~

anything.best

這是我的部落格,歡迎點擊閱覽喔~~會不定期更新文章


上一篇
「DAY13」Camunda 引擎:Gateways to the Process
下一篇
「DAY15」分析流程痛點:三大法則
系列文
Camunda征服「流程管理」,解放時間30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言